home *** CD-ROM | disk | FTP | other *** search
/ Programming in Microsoft Windows with C# / Programacion en Microsoft Windows con C#.iso / Codigo / Menús / BetterContextMenu / BetterContextMenu.cs next >
Encoding:
Text File  |  2002-06-19  |  1.9 KB  |  66 lines

  1. //------------------------------------------------
  2. // BetterContextMenu.cs ⌐ 2001 by Charles Petzold
  3. //------------------------------------------------
  4. using System;
  5. using System.Drawing;
  6. using System.Windows.Forms;
  7.  
  8. class BetterContextMenu: Form
  9. {
  10.      MenuItemColor micColor;
  11.  
  12.      public static void Main()
  13.      {
  14.           Application.Run(new BetterContextMenu());
  15.      }
  16.      public BetterContextMenu()
  17.      {
  18.           Text = "Mejor demo de men· contextual";
  19.  
  20.           EventHandler eh = new EventHandler(MenuColorOnClick);
  21.  
  22.           MenuItemColor[] amic = 
  23.           {
  24.                new MenuItemColor(Color.Black,   "&Negro",    eh),
  25.                new MenuItemColor(Color.Blue,    "A&zul",     eh),
  26.                new MenuItemColor(Color.Green,   "&Verde",    eh),
  27.                new MenuItemColor(Color.Cyan,    "&Celeste",  eh),
  28.                new MenuItemColor(Color.Red,     "&Rojo",     eh),
  29.                new MenuItemColor(Color.Magenta, "&Magenta",  eh),
  30.                new MenuItemColor(Color.Yellow,  "&Amarillo", eh),
  31.                new MenuItemColor(Color.White,   "&Blanco",   eh)
  32.           };
  33.  
  34.           foreach (MenuItemColor mic in amic)
  35.                mic.RadioCheck = true;
  36.  
  37.           micColor = amic[3];
  38.           micColor.Checked = true;
  39.           BackColor = micColor.Color;
  40.  
  41.           ContextMenu = new ContextMenu(amic);
  42.      }
  43.      void MenuColorOnClick(object obj, EventArgs ea)
  44.      {
  45.           micColor.Checked = false;
  46.           micColor = (MenuItemColor) obj;
  47.           micColor.Checked = true;
  48.  
  49.           BackColor = micColor.Color;
  50.      }
  51. }
  52. class MenuItemColor: MenuItem
  53. {
  54.      Color clr;
  55.  
  56.      public MenuItemColor(Color clr, string str, EventHandler eh):
  57.                                                             base(str, eh)
  58.      {
  59.           Color = clr;
  60.      }
  61.      public Color Color
  62.      {
  63.           get { return clr; }
  64.           set { clr = value; }
  65.      }
  66. }